原帖 | Jason | 2026-06-20 10:24 | 👍3 | 阅读约1
BSP 开发必配 CLAUDE.md
很多做RK、全志、展锐BSP开发的朋友,用Claude Code辅助开发时, CLAUDE.md 基本等于白配。
大概率都是这种两行敷衍式配置:
项目:嵌入式Linux开发
平台:RK3568
这种配置毫无意义。
Claude完全不知道你的项目架构、内核版本、编译规则、禁区文件。每次执行任务都要重新摸索目录、试错命令、套用通用内核逻辑。
最直观的后果:大量浪费Token、给出mainline内核错误方案、改坏厂商私有代码、越修越崩。
做BSP AI辅助开发,一份能用的 CLAUDE.md ,只需要搞定四个核心维度,全部是实打实的落地配置,没有一句空话。
一、精准标注硬件&内核环境(拒绝通用模板)
BSP最大的坑:厂商私有内核 ≠ Linux主线内核
如果只写RK3568,AI会默认按Linux mainline 5.10/6.x通用逻辑给方案,你的RK私有驱动、DTS、接口完全对不上,方案10条9条不能用。
实战标准配置
项目平台信息
- SoC:RK3568B2 四核Cortex-A55
- 内核版本:Linux 5.10.198(Rockchip私有BSP,非主线mainline内核)
- 构建系统:Buildroot 2023.02.9
- 交叉工具链:Linaro aarch64-linux-gnu-gcc 11.3.1-2023.09
- 项目特性:大量RK私有驱动、私有API,不兼容mainline内核接口
重点强调:非mainline、私有驱动多
从此AI不会乱给主线内核的补丁、函数、配置方案。
二、写入完整可直接运行的构建命令
不要写示意命令、不要简写。
Claude Code需要可直接执行、零修改的编译、配置、输出路径,才能帮你自动编译、改错、验证代码。
实战标准配置
项目构建规则
内核编译
内核默认配置:arch/arm64/configs/rockchip_linux_defconfig
编译命令:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_linux_defconfig && make -j$(nproc)
Buildroot整体编译
全量编译:make -C buildroot O=$PWD/output -j$(nproc)
产物路径
最终固件、镜像输出目录:output/images/
内核符号表文件:build/vmlinux
好处:改完DTS、驱动代码,AI可以直接帮你执行编译、检查报错、定位编译日志,不用你手动补全命令。
三、明确禁止修改的文件目录
这是绝大多数人踩的深坑。
没有禁区声明,AI会“自作聪明”优化、修改厂商底层文件。
当下能编译通过,下次同步官方BSP升级,直接大批量冲突、代码覆盖、功能炸机。
实战禁区配置(RK平台通用)
禁止修改目录/文件
- drivers/gpu/drm/rockchip/ 厂商闭源GPU驱动,升级必覆盖
- arch/arm64/boot/dts/rockchip/rk356x.dtsi SoC顶层通用DTS,仅允许修改板级dts
- include/linux/rk_*.h 瑞芯微私有头文件,禁止修改
- rockchip_linux_defconfig 顶层默认配置,禁止直接修改,自定义配置另存
- 所有厂商原生mpp、vop、isp、alsa底层驱动源码
核心原则:SoC公共底层只复用、不改动,所有修改只落在板级文件。
四、写入板子调试环境
把调试信息一次性写死在配置里,后续排查死机、perf热点、驱动报错、音频视频卡顿,AI直接适配你的环境,不用每次重复交代IP、命令、路径。
实战调试配置
板端调试环境
- 设备SSH:ssh root@192.168.100.200 账号密码:root/root
- 内核符号表:build/vmlinux(用于addr2line、gdb、崩溃栈解析)
- 性能工具:板端预置perf /usr/bin/perf
- 日志查看:dmesg -T 带时间戳查看内核日志
- 调试方式:串口+SSH双调试,优先使用SSH执行命令
配置完之后:
死机栈解析、perf火焰图分析、驱动日志排查、参数调试,AI全自动适配你的板子环境。
最后说下我的使用心得
我的 CLAUDE.md 现在80行左右,但不用一步到位写满。
我的迭代方法非常简单:
1. 初始只写上面4块核心内容
2. 每做一次BSP任务,发现AI不懂、做错、理解偏差的点
3. 直接补充进 CLAUDE.md
三四次迭代后,AI对整个BSP工程的理解,基本媲美熟悉项目的新人开发。
本文配合之前的 MCP嵌入式直连板子方案 是最强组合:
- MCP:让AI直接操控开发板、执行命令、抓日志、抓perf
- 完善CLAUDE.md:让AI读懂你的BSP工程、不乱改、不乱编、不瞎给方案
一个管实操操控,一个管项目认知,BSP调优、驱动开发、问题排查效率直接翻倍。
约束为什么要显式化、如何系统化表达,可进一步阅读 AI时代嵌入式开发方法论:边界约束收敛理论。
相关笔记